Information and computer technology are an essential component of modern business operations. The utility of computer technology has been enhanced by the coupling of computers with information networks such as the Internet and the World Wide Web (“WWW”). Successful business operations in the global marketplace may require a synergetic relationship between local and distributed operations. For example, localized operations may include research and development, inventory management, customer service, strategic planning, etc. Distributed operations are conducted, for example, by sales personnel in the field who interact with customers and perform such tasks as order generation, customer relations, customer support, etc. Field personnel may utilize mobile devices such as laptop computers or personal digital assistants (“PDAs”) for accessing customer information, receiving customer orders, communicating with one or more centralized databases at the home office, etc.
Field personnel may require accurate and timely information regarding the state of business operations in order to effectively perform their jobs. For example, sales personnel may require up-to-the-minute information regarding current inventory levels, product availability and customer data. Conversely, the enterprise may operate more effectively through centralized management of information regarding the operations of field personnel and information collected in the field.
One model for providing the requisite computing environment may involve a plurality of mobile devices operating in an offline mode, in which the offline mode status is transparent to the users. That is, the mobile devices may run applications in offline mode, yet the user may interact with the mobile applications as if they were running in an online mode.
A relational database allows the definition of data structures, storage and retrieval operations and integrity constraints. In such a database, the data and relations between them are organized in tables. A table is a collection of rows or records and each row in a table contains the same fields. Certain fields may be designated as keys, which means that searches for specific values of that field will use indexing. Where fields in two different tables take values from the same set, a “join” operation can be performed to select related records in the two tables by matching values in those fields. The fields may have the same name in both tables. For example, an “orders” table might contain (customer_id, product_code) pairs and a “products” table might contain (product_code, price) pairs. Therefore, in order to calculate a given customer's bill, the prices of all products ordered by that customer would be summed by joining on the product-code fields of the two tables. This can be extended to joining multiple tables on multiple fields. Because these relationships are only specified at retrieval time, relational databases may be classed as a dynamic database management system. (See The Free On-line Dictionary of Computing, 1993-2003, by Denis Howe).
There is a need for a method of developing and downloading efficiently a database access system to a mobile application. There is also a need for managing databuffers and redundant copies of records in a mobile application. Additionally, there is a need for managing a limited number of database connections in a run-time environment.